package com.sky.dto;
/**
 * 1. 当前模块名：sky-pojo
 *    模块作用：子模块，存放实体类（Entity）、视图对象（VO）、数据传输对象（DTO）等
 * 2. 当前包名：com.sky.dto
 *    包作用：存放 DTO（Data Transfer Object），用于系统各层之间传递数据，解耦实体类
 * 3. 当前类名：DataOverViewQueryDTO
 *    类作用：封装首页运营数据概览（如订单数、营业额等）的查询时间区间参数。
 */
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * DataOverViewQueryDTO：运营概览查询参数 DTO
 * 知识点说明：
 * 1. @Data：Lombok 注解，自动生成 getter/setter/toString 等方法。
 * 2. @Builder：支持链式构造对象方式，适合构建复杂对象。
 * 3. @NoArgsConstructor：自动生成无参构造函数，框架如 Spring 或 MyBatis 需要。
 * 4. @AllArgsConstructor：自动生成包含所有字段的构造函数。
 * 5. LocalDateTime：Java 8 引入的日期时间类，线程安全，适合处理时间段参数。
 * 6. 实现 Serializable 接口：使该对象支持序列化，用于网络传输或缓存存储。
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DataOverViewQueryDTO implements Serializable {
    /**
     * 查询的开始时间
     * 用于筛选运营数据的时间范围起点
     */
    private LocalDateTime begin;
    /**
     * 查询的结束时间
     * 用于筛选运营数据的时间范围终点
     */
    private LocalDateTime end;

}
/**
 * 仿写:SalesStatisticQueryDTO：销售统计图查询时间范围参数 DTO
 * @Data
 * @Builder
 * @NoArgsConstructor
 * @AllArgsConstructor
 * public class SalesStatisticQueryDTO implements Serializable {
 *     // 开始时间
 *     private LocalDateTime beginTime;
 *     // 结束时间
 *     private LocalDateTime endTime;
 * }
 */